10. Troubleshooting en veelvoorkomende problemen

Tijdens het werken met de dynamische API kun je tegen verschillende problemen aanlopen. Hier zijn enkele veelvoorkomende problemen en hun oplossingen.

1. Authenticatieproblemen

401 Unauthorized

Mogelijke oorzaken:

  • Je JWT-token is verlopen
  • Je token is niet correct opgenomen in de Authorization header
  • De gebruiker heeft geen toegang tot de betreffende operatie

Oplossingen:

  1. Token verlopen: Log opnieuw in om een nieuw token te krijgen
  2. Incorrecte header: Controleer of je de header correct instelt:
    headers: {
      'Authorization': `Bearer ${token}`,
      'novi-education-project-id': ed30b6ec-f22a-4fa0-aceb-7aa8504e3e98,
    }
    
  3. Ontbrekende rechten: Controleer de permissies voor de gebruikersrol in je JSON-configuratie

2. Permissieproblemen

403 Forbidden

Mogelijke oorzaken:

  • De ingelogde gebruiker heeft niet de juiste rol
  • De permissies in de JSON-configuratie zijn niet correct ingesteld

Oplossingen:

  1. Log in met een gebruiker die de juiste rol heeft
  2. Controleer en update de permissies in je JSON-configuratie:
    "permissions": {
      "GET": ["user", "admin"],
      "POST": ["admin"],
      "PUT": ["admin"],
      "DELETE": ["admin"]
    }
    

3. Problemen met projectidentificatie

404 Not Found of andere API fouten

Mogelijke oorzaken:

  • Ontbrekende of onjuiste novi-education-project-id header
  • Verkeerd project-GUID

Oplossingen:

  1. Controleer of je de header correct instelt:
    headers: {
      'novi-education-project-id': 'ed30b6ec-f22a-4fa0-aceb-7aa8504e3e98'
    }
    
  2. Verifieer dat je het juiste project-GUID gebruikt

4. Swagger UI problemen

Symptoom: Kan niet authenticeren of testen in Swagger UI

Mogelijke oorzaken:

  • Verkeerd token format
  • Browser cachingproblemen
  • Verkeerde URL of parameters

Oplossingen:

  1. Zorg ervoor dat je "Bearer" voor je token zet in het Authorize-veld
  2. Wis je browsercache of gebruik incognito/private mode
  3. Controleer of je de juiste projectId in de URL hebt:
    /swagger-ui?projectId=ed30b6ec-f22a-4fa0-aceb-7aa8504e3e98